The Domain Name System (DNS) allows people using the Internet to refer to domain names, rather than Internet Protocol (IP) addresses, when accessing websites and other online services. Domain names, which employ text characters, such as letters, numbers, and hyphens (e.g., “www.example.com”), will often be easier to remember than IP addresses, which are numerical and do not contain letters or hyphens (e.g., “128.1.0.0”).
Domains exist at various different levels within the DNS hierarchy. For example, a generic top-level domain (gTLD), such as .COM or .NET, is a domain at the highest level in the DNS hierarchy. Another type of TLD is a country-code top-level domain (ccTLD) such as, for example, .UK. A second-level domain (SLD) is a subdomain of a TLD (including gTLD and ccTLD), which is directly below the TLD in the DNS hierarchy. For example, .COM is the TLD and EXAMPLE is the SLD for the domain name “www.example.com.”
Registries manage the domain names of each TLD. For example, Verisign is a well-known registry, and it manages the .COM and .NET TLDs. To maintain a domain name in accordance with current regulations mandated by Internet Corporation for Assigned Names and Numbers (ICANN), the registry responsible for a TLD is required to maintain a certain minimum amount of information associated with the domain name to ensure proper identification, security features, ownership, operability, and other attributes associated with the domain name. For example, all domain registrants are required to make available to the registry or the registrar their current administrative contact information. Also, in order for a domain name to work correctly, the registry must have nameserver information for the domain name to load into the registry's TLD DNS system to refer outside DNS requests to the proper authoritative DNS servers. Other information encoded in the registry can include the registrar through which the domain name's registration took place, the registration date, the expiration date, and the status of the domain name.
Registries often need to modify a set of data encoded in their data stores on a large-scale bulk or batch basis. For example, registries may need to transfer a large number of registered domain names from one owner to another, for instance when corporate entities merge or otherwise change. Registries may need to update the records in their data stores to transfer domains from one registrar to another registrar. Registries may need to perform these and other update operations at once or concurrently. These operations can include updating the domain names' statuses, expiration dates, or associated nameservers. Registries may modify a bulk set of domain names for their own maintenance purposes, and/or may be required to do so by ICANN, a court order, or other third-party entity. In cases, the domain names themselves may be updated, and in cases, attributes associated with the domain names can in addition or instead be updated.
Modifying a bulk set of domain names typically involves a high level of coordination among multiple registry administrators, and typically requires manual checks to ensure that proper action is taken in handling the data update. In carrying out these update operations, the chance of introducing data faults or programmatic errors is high. In general, in maintenance operations as known, a registry administrative user must manually modify each domain name in a bulk request, with or without the assistance of a bulk tool, which could require the handling of thousands of domain names. Successfully completing the various modifications, without making mistakes or causing other unintended impacts to related data, demands someone with expertise in the data structures and content of the registry's system (e.g., a “super user”). Even with a highly experienced user, a great deal of time and care is required to perform large-scale update operations on a registry. And when those operations are carried out, it is not uncommon to discover that at least some of the updates to the registry could or have caused violations of underlying registry policy, data dependency problems, and/or other programmatic faults.
There accordingly exists a need to enable bulk modifications and associated large-scale operations on DNS registries, while at the same time carrying out policy enforcement and other integrity checks to ensure a complete and correct modification process which reduces or eliminates programmatic update errors. Furthermore, registries may wish to schedule large-scale update operations during times which minimize the impact on regular DNS operations. Registries may likewise desire to track update operations and generate reports on update results, for purposes of later audits, version rollbacks, or other purposes.